home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / commodore-scene-files / Coverdisks / CDU / V3D11.D64 / parser main (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  1.5 KB  |  61 lines

  1. 6000 PRINT"[147]"
  2. 6010 POKE53280,14:POKE646,14:POKE53281,6
  3. 6020 A=A+1
  4. 6025 IFA=1THENLOAD"PARSER CODE",8,1
  5. 7000 REM   BASIC PARSE CALL
  6. 7010 PA=50018:REM SET PA="WDPTRA"
  7. 7020 MO=50065:REM SET MO="MORE"
  8. 7030 SM=50066:REM SET SM="SAMORE"
  9. 7040 BF=50076:REM SET BF="INBUFF"
  10. 7050 LS=50075:REM SET LS="LSBUFF"
  11. 7060 OU=50040:REM SET OU="VERB"
  12. 7070 DEF FN P(X)=PEEK (OU+X)
  13. 7080 A$="":INPUT A$
  14. 7090 IF LEN (A$)=0 THEN GOTO 7130
  15. 7100 FOR I=1 TO LEN (A$)
  16. 7110 : POKE BF+I-1,ASC (MID$(A$,I,1))
  17. 7120 NEXT I
  18. 7130 POKE LS,LEN (A$)
  19. 7140 POKE PA,0:POKE MO,0:POKE SM,0
  20. 7150 SYS 49152
  21. 7160 IF FNP(2)>=5AND FNP(22)=0AND FNP(17)<>0THEN POKE OU+22,FNP(2):POKE OU+2,0
  22. 7170 SYS 49161
  23. 7180 REM             PRINT OUTPUT
  24. 7190 PRINT:PRINT "ACTION  :";FNP(31);"VERB";FNP(0);FNP(1);"VERS";FNP(2);FNP(3)
  25. 7200 FOR I=0 TO 2
  26. 7210 PRINT "OBJECT";CHR$(49+I);" :";FNP(32+I);"N";FNP(16+I);FNP(19+I);
  27. 7220 PRINT "A";FNP(10+I);FNP(13+I);"O";FNP(4+I);FNP(7+I)
  28. 7230 NEXT I
  29. 7240 PRINT "PREPOSIT:";FNP(22);FNP(23)
  30. 7250 PRINT "SAY VERB:";FNP(27);FNP(28)
  31. 7260 PRINT "SAY PREP:";FNP(29);FNP(30)
  32. 7270 PRINT "SAY MORE:";FNP(26)
  33. 7280 PRINT "MORE    :";FNP(25)
  34. 7290 PRINT "ERROR   :";FNP(24)
  35. 7300 IF FNP(24)=0 THEN GOTO 7340
  36. 7310 PRINT "I GOT STUCK AT ";:SYS 49155
  37. 7320 PRINT
  38. 7330 REM ARE ALL OBJECTS RECOGNIZED
  39. 7340 FOR I=0 TO 2
  40. 7350 IF FNP(32+I)<>255 THEN GOTO 7410
  41. 7360 PRINT "I DON'T KNOW WHAT A ";
  42. 7370 POKE PA,3:POKE PA+1,FNP(13+I)
  43. 7380 SYS 49158:PRINT " ";
  44. 7390 POKE PA,2:POKE PA+1,FNP(19+I)
  45. 7400 SYS 49158:PRINT " IS."
  46. 7410 NEXT I
  47. 7420 REM IS THE ACTION RECOGNIZED
  48. 7430 IF FNP (31)<>255 THEN GOTO 7500
  49. 7440 PRINT "[201] DON'T KNOW HOW TO ";
  50. 7450 POKE PA,0:POKE PA+1,FNP(1)
  51. 7460 SYS 49158:PRINT " ";
  52. 7470 POKE PA,1:POKE PA+1,FNP(3)
  53. 7480 SYS 49158:PRINT "."
  54. 7490 :
  55. 7500 REM ALL OUTPUT DONE
  56. 7510 PRINT
  57. 7520 IF PEEK (MO)=0 THEN GOTO 7080
  58. 7530 PRINT "PRESS SPACE FOR NEXT LIST"
  59. 7540 GET A$:IF A$<>" "THEN 7540
  60. 7550 GOTO 7150
  61.